import { createStore } from 'vuex'
import createPersistedstate from 'vuex-persistedstate'

import cart from './modules/cart'
import user from './modules/user'
import category from './modules/category'

export default createStore({
  modules: {
    cart,
    user,
    category
  },
  plugins: [
    // 默认存储在localStorage
    createPersistedstate({
      // 本地存储名字
      key: 'eribbit-client-pc-store',
      // 指定需要存储的模块
      paths: ['user', 'cart']
    })
  ]
})

// const moduleA = {
//   state: {
//     username: 'moduleA'
//   },
//   getters: {

//   }
// }

// const moduleB = {
//   state: {
//     name: 'moduleB'
//   },
//   getters: {

//   }
// }

// export default createStore({
//   modules: {
//     moduleA,
//     moduleB
//   }
// })
// vue2.0 创建仓库 new Vuex.Store({})
// vue3.0 创建仓库 createStore({})
// export default createStore({
//   state: {
//     username: 'glz'
//   },
//   getters: {
//     newName (state) {
//       return 'xxx'
//     }
//   },
//   mutations: {
//     updateName (state) {
//       state.username = 'hhh'
//     }
//   },
//   actions: {
//     updateName (ctx) {
//       setTimeout(() => {
//         ctx.commit('updateName')
//       }, 1000)
//     }
//   },
//   modules: {
//   }
// })
